package com.micodroid.database;

import java.util.ArrayList;
import java.util.List;

import com.micodroid.baseclass.Medicion;

import android.content.Context;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;


public class DBAdapter {
	 
	//Campos de la BD
	private static final String DATABASE_TABLE_MEDICIONES = "mediciones";

	
	public static final String ID = "id" ;
	public static final String PESO = "peso" ;
	public static final String ALTURA = "altura" ;
	public static final String GLUCOSA = "glucosa" ;
	public static final String FECHA = "fecha" ;

	
	private Context context;
	private SQLiteDatabase database;
	private DataBaseHelper dbHelper;
 
	public DBAdapter(Context context) {
		this.context = context;
	}
 
	public void open() throws SQLException {
		dbHelper = new DataBaseHelper(context);
		database = dbHelper.getWritableDatabase();
	}
 
	public void close() {
		dbHelper.close();
	}
 

	
	/***
	 * Regresa las Mediciones
	 * @return List<Medicion>
	 */
	
	public List<Medicion> fecthMediciones() {
		open();
		Cursor cursor = database.query(DATABASE_TABLE_MEDICIONES, new String[] {ID, PESO, ALTURA, GLUCOSA,  FECHA}, null, null, null, null, null);
        List<Medicion> meidciones = new ArrayList<Medicion>();
        cursor.moveToFirst();

		while (cursor.isAfterLast() == false) {
			meidciones.add(new Medicion(
					cursor.getLong(cursor.getColumnIndexOrThrow(DBAdapter.ID)), 
					cursor.getFloat(cursor.getColumnIndexOrThrow(DBAdapter.PESO)),
					cursor.getFloat(cursor.getColumnIndexOrThrow(DBAdapter.ALTURA)),
					cursor.getFloat(cursor.getColumnIndexOrThrow(DBAdapter.GLUCOSA)),
					cursor.getString(cursor.getColumnIndexOrThrow(DBAdapter.FECHA))
					
			));

			cursor.moveToNext();
		}
		if (cursor != null && !cursor.isClosed()) cursor.close();
		close();
		return meidciones;	
	}

	
	
	
}